package prjtgl.bdd;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.hibernate.Session;
import prjtgl.bdd.comptes.HMembre;
import prjtgl.bdd.comptes.HRecruteur;
import prjtgl.bdd.comptes.HUtilisateur;
import prjtgl.bdd.comptes.interactions_utilisateur.HContact;
import prjtgl.bdd.comptes.interactions_utilisateur.HDemandeContact;
import prjtgl.bdd.comptes.interactions_utilisateur.HSignalement;
import prjtgl.bdd.comptes.profil_societe.HSociete;
import prjtgl.bdd.comptes.profil_utilisateur.HDomaineExpertise;
import prjtgl.bdd.comptes.profil_utilisateur.poste.HDirection;
import prjtgl.metier.comptes.Membre;
import prjtgl.metier.comptes.Utilisateur;
import prjtgl.metier.comptes.interactions_utilisateur.DemandeContact;
import prjtgl.metier.comptes.interactions_utilisateur.Signalement;
import prjtgl.metier.comptes.profil_societe.Societe;
import prjtgl.metier.comptes.profil_utilisateur.DomaineExpertise;
import prjtgl.metier.comptes.profil_utilisateur.Profil;
import prjtgl.metier.comptes.profil_utilisateur.poste.Direction;
import prjtgl.metier.comptes.profil_utilisateur.poste.Experience;

/**
 * Test à la con pour s'assurer que le mapping fonctionne enfin avec la BDD en ligne...
 * @author amirouche
 */
public class UtilisateurHelper {
	public static void main(String[] args){
		/*
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		Membre u = (Membre)session.load(Membre.class, (long)8);
		System.out.println(u.getEmail());
		System.out.println(u.getMotDePasse());
		System.out.println(u.getProfil().getIntitule());

		
		u.setNom("testderenom");
		
		Profil p = new Profil();
		p.setId(1);
		p.setIntitule("MOA");
		
		
		
		 Membre m = new Membre();
		 m.setId(8);
		 m.setEmail("amirouche.halfaui@gmail.com");
		 m.setMotDePasse("monmdp");
		m.setNom("toto");
		m.setPrenom("titi");
		m.setProfil(p);
		m.setEstDisponible(false); 
		
		//Utilisateur m = new Utilisateur("amir@ouche.fr", "lkjfdklsjhfksdj");
		
		Signalement s = new Signalement();
		s.setDate(new Date());
		s.setSignalant(u);
		s.setSignale(m);
		
		HSignalement hs = new HSignalement();
		List<Signalement> lS = hs.listerTout();
		
		for(Signalement s : lS){
			System.out.println(s.getId());
			System.out.println(s.getSignalant().getEmail());
			System.out.println(s.getSignale().getEmail());
			System.out.println("--------");
		}
		
		HUtilisateur hu = new HUtilisateur();
		Utilisateur u = hu.rechercherUtilisateurParEmail("amirouche@gmail.com");
		System.out.println(u.getId());
		
		HDirection hd = new HDirection();
		Direction d = new Direction();
		d.setDescription("teest");
		hd.enregistrer(d);
		
		HDemandeContact dc = new HDemandeContact();
		List<DemandeContact> dC = dc.listerToutesDemandesEnvoyees((Membre) u);
		for(DemandeContact dcccc : dC){
			System.out.println(dcccc.getDate());
		}
		 */
		/*
		HSociete sc = new HSociete();
		List<Societe> s = sc.lister("a");
		for(Societe so : s){
			System.out.println(so.getNom());
		}
		 */
		/*
		HMembre mem = new HMembre();
		Membre m = mem.rechercherMembreParEmail("lucie@gmail.com");
		 */
		
		//HMembre hu = new HMembre();
		//Membre u = hu.rechercherMembreParEmail("amirouche@gmail.com");
		//for(DomaineExpertise e : u.getDomaines()){
		//	System.out.println(e.getIntitule());
		//}
		//System.out.println(u.getDisponibilite().getDate());
		/*
		HMembre hm = new HMembre();
       Membre m1 = hm.rechercherMembreParEmail("toto@gmail.com");
       Membre m2 = hm.rechercherMembreParEmail("amirouche@gmail.com");
       System.out.println(m1);
       System.out.println(m2);
	   
	   HDemandeContact hd = new HDemandeContact();
       DemandeContact d = new DemandeContact();
       d.setDate(new Date());
       d.setDemande(m1);
       d.setDemandeur(m2);
       hd.enregistrer(d);
		*/
	/*
	   HDomaineExpertise de = new HDomaineExpertise();
	   List<DomaineExpertise> l = de.listerTout();
	   for(DomaineExpertise ll : l){
		   System.out.println(ll.getIntitule());
	   }
	 */
		/*HMembre mbre = new HMembre();
		List<Membre> erze = mbre.rechercherMembreMultiCrit("toto@gmail.com", "tata", "Amirouche", "EADS");
		for(Membre t : erze){
			System.out.println(t.getEmail());
			mbre.getSocieteCourante(t);
		}*/
		
		
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		DemandeContact a = (DemandeContact)session.load(DemandeContact.class, (long)1);
		
	/*	HRecruteur hr = new HRecruteur();
		HMembre hm = new HMembre();
		HDomaineExpertise hde = new HDomaineExpertise();
		Map<Membre, Integer> res = hr.rechercheRessource(hde.listerTout(), "MOA", 2, null);
		for(Map.Entry<Membre,Integer> e : res.entrySet()){
			System.out.println(e.getKey().getEmail() + " " + hm.calculerCumulExperience(e.getKey()));
		}*/
		
		a.accepter();
		
	}
}
